1. Field
Various embodiments of the present invention generally relate to systems and methods for protecting computer systems and networks from unauthorized code execution. More specifically, many of the embodiments provide for systems and methods of securing a computer system by allowing only the execution of authorized computer program code.
2. Background
The execution of unauthorized software has had a serious impact on computer users. The impact of unauthorized software execution not only applies to malicious software, or malware, but also the use of unlicensed software and software which may distract employees from working, such as music players, games, and/or the like.
Current approaches to dealing with these issues have proven ineffective. One common method of virus or malware detection is through the use of system scans either initiated by the user or automatically schedule on a periodic basis. During the scanning, the malicious software detector may search for traces of a virus or other malware using a database of know malware signatures. However, such databases must be routinely updated and have generally proven ineffective against the next variation of the virus.
Another common approach to dealing with malicious software execution is real-time background system monitoring. Typically, this approach, continuously monitors all incoming and outgoing files from the computer system in order to determine any association with known malicious software. Again, many of these approaches use a signature-based approach which is ineffective against the next variation of the malicious software.